EventBridge Scheduler で Inspector の検出結果レポートをフィルターでカスタマイズして出力する方法

EventBridge Scheduler で Inspector の検出結果レポートをフィルターでカスタマイズして出力する方法

Clock Icon2024.12.24

この記事は アノテーション株式会社 AWS Technical Support Advent Calendar 2024 | Advent Calendar 2024 - Qiita 24 日目の記事です。

困っていた内容

EventBridge Scheduler を用いて Inspector の検出結果レポートを定期的に出力したいです。
その際、フィルターで結果レポートをカスタマイズしたいのですが、EventBridge Scheduler の Input をどのように記述すれば良いかわかりません。

どう対応すればいいの?

例えば、次の条件でレポート出力を行うとします。

  • レポートフォーマット: CSV
  • タイプ: Package Vulnerability
  • 重大性: Critical AND High
  • Finding Status: Active

上記の場合、Input を以下のように記述してください。
※ ${S3BucketName} 及び ${KMSKeyARN} の値は、それぞれ自身の S3 バケット名及び KMS キー ARN に置き換えてください。

{
  "ReportFormat": "CSV",
  "S3Destination": {
    "BucketName": "${S3BucketName}",
    "KmsKeyArn": "${KMSKeyARN}"
  },
  "FilterCriteria": {
      "FindingType": [
        {
          "Comparison": "EQUALS",
          "Value": "PACKAGE_VULNERABILITY"
        }
      ],
      "Severity": [
        {
          "Comparison": "EQUALS",
          "Value": "CRITICAL"
        },
        {
          "Comparison": "EQUALS",
          "Value": "HIGH"
        }
      ],
      "FindingStatus": [
        {
          "Comparison": "EQUALS",
          "Value": "ACTIVE"
        }
      ]
  }
}

なお、Input の JSON の形式は呼び出すサービスの API によって決定されており、JSON のパラメーターや形式の詳細については各 API リファレンスを参照する必要があります。
一方、API リファレンスと異なり、Input の JSON のキー名は Pascal Case で記述する必要がある点にご注意ください。

参考情報

Using universal targets in EventBridge Scheduler - EventBridge Scheduler

Input – A well-formed JSON you specify with the request parameters that EventBridge Scheduler sends to the target API. The parameters and shape of the JSON you set in Input are determined by the service API your schedule invokes. To find this information, see the API reference for the service you want to target.

CreateFindingsReport - Inspector

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.